/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package generadordescktop;

import generadorabm.Controladora;
import generadorabm.Metodo;
import generadorabm.OTablaMetodo;
import java.util.List;
import javax.swing.table.AbstractTableModel;

/**
 *
 * @author agustin
 */
public class MetodosTableModel extends AbstractTableModel implements OTablaMetodo {

    public Object[][] cargarDatos() {

        try {
            List<Metodo> metodos2 = Controladora.getInstance().getCreadoraClase().getMetodos();
            metodos = new Metodo[metodos2.size()][1];

            for (int x = 0; x < metodos2.size(); x++) {
                metodos[x][0] = metodos2.get(x);
            }
        } catch (Exception e) {
            throw new UnsupportedOperationException(e.toString());
        }

        return metodos;
    }
    private Object metodos[][] = cargarDatos();

    public Object[][] getMetodos() {
        return metodos;
    }

    public void setMetodos(Object[][] metodos) {
        this.metodos = metodos;
    }

    public int getRowCount() {
        if (metodos.length == 0) {
            return 0;
        } else {
            return metodos.length;
        }

    }

    public int getColumnCount() {
        if (metodos.length == 0) {
            return 0;
        } else {
            return metodos[0].length;
        }
    }

    public Object getValueAt(int rowIndex, int columnIndex) {
        Object a = new Metodo();
        try {
            a = getMetodos()[rowIndex][columnIndex];
            return a;
        } catch (Exception e) {
            throw new UnsupportedOperationException("Not supported yet.");
        }
    }

    public void notificarMetodo() {
        metodos = cargarDatos();
        try {
            GeneradorDescktop.getInstance().actualizarMetodos();
        } catch (Exception e) {
            throw new UnsupportedOperationException("Not supported yet.");
        }

    }
}
